#ifndef STANDS_H
#define STANDS_H

#include "usefulMethods.h"
const float PERSON_SPEED = 500;

class Person{
	public:
		Person();
		Person(Vector3 position, Vector3 velocity, Vector3 goToPos);
		//Draws the person
		void Draw();
		static void setupDisplayList();
		void Jump(double &currJumpTime, double totalJumpTime, double jumpHeight);

		//Current position
		Vector3 position;

		//Final position
		Vector3 goToPos;

		//Walking speed
		Vector3 walkingVelocity;

		int walkingState;
		double currJumpTime;
		static int totalJumpTime;
		static int jumpHeight;
		bool goingUp;
		static GLuint index;

	protected:
		float personColors[5][4];

};



class Stands{
	public:
		Stands();
		Stands(int levels, Vector3 position, float width, float seatHeight);
		//Draws the stands
		void Draw();
		//Gets the position
		Vector3 getPostition();
		//People in the stands
		vector<Person> peopleInStands;
		//Final Positions for People
		vector<Vector3> goToPositions;
		//Position of the portal
		Vector3 portalPosition;
		//Update the positions of the people on the field
		void updatePeople(double time);
		//Creates a new Person
		bool createPerson();
		
		GLuint index;

	protected:
		int levels;
		float width;
		Vector3 position;
		float seatHeight;
		float numPeoplePerLevel;

};


#endif